package leetCode;

/**
 * 1004. 最大连续1的个数 III
 * https://leetcode.cn/problems/max-consecutive-ones-iii/description/
 */
class Solution3 {
    public int longestOnes(int[] nums, int k) {
        int zero = 0, n = nums.length;//0的个数和nums的长度
        int len = 0;//返回 数组中连续 1 的最大个数
        for(int left = 0, right = 0; right < n; right++) {
            if(nums[right] == 0) zero++;//进窗口
            while(zero > k) {
                if(nums[left] == 0) {
                    zero--;
                }
                //出窗口
                left++;
            }
            len = Math.max(len, right - left + 1);
        }
        return len;
    }
}